perm filename HOWTO[1,JMC]54 blob sn#860335 filedate 1988-08-29 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00024 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	Miscellaneous
C00012 00003	lisp
C00019 00004	E
C00020 00005	ekl
C00027 00006	Computer phones
C00028 00007	Does anyone know how to disconnect the ringer on a phone so that it no lnger
C00031 00008	The following special purpose BBoards exist on SAIL:
C00033 00009	Socrates
C00034 00010	Macsyma on Symbolics 3600 (Coax)
C00035 00011	Making slides - use \input slide1.tex[1,jmc] to make slides for 35 mm
C00036 00012	Using SAIL from tops-20.
C00037 00013	official" way to send mail to DEC's ENET is:
C00038 00014	LaBrea
C00039 00015	Information for people about admission or AI study. brodie.1[let,jmc].
C00040 00016	∂09-Dec-85  1456	LES  	Pub to ESP    
C00041 00017	TEX
C00042 00018	netlib@anl-mcs
C00043 00019	On line OAG: see instructions in paper rack on desk in office, in standing
C00044 00020	Shower in upstairs bathroom
C00045 00021	∂16-Nov-87  1928	ME 	UDPs  
C00046 00022	Using gang-of-four
C00047 00023	Subject:      Theorynet archives and FTP
C00048 00024	MAIL to bitnet
C00049 ENDMK
C⊗;
Miscellaneous

Howto notes for the IBM RT-PC are in the file RT[1,jmc]

Public access files may be copied from the NETINFO directory at SRI-NIC 
via FTP with username ANONYMOUS and password GUEST.

The file BASICT has triple size fonts good for slides.

New reports file is <Admin.Library>NEWTRS at SCORE updated semi-monthly.
message to Admin.Library at SCORE, giving the six-digit accession numbers.

et <filename>/∞f compresses a many page file

68KASM.vrp[up,doc] describes his Maclisp based assembler for 68000

Character macros:
read macros  gets
macros.me[up,doc]
also r chrmac
moncom.upd/11p

file of files
FILES[LET,JMC] is the master file.  At present it doesn't include
the letters themselves or other files on LET,JMC.  Now that I know
how to do it, maybe it should.  Part of FILES is by category, but
more recent directories are grouped on pages because of
dissatisfaction with my categories.  Some files are in two places.

To make a directory file use DRD followed by the XFOO command
which creates the list.  The list can be updated by using DRD/DATE,
then using XFOO to make a new file of files (BEING SURE NOT TO
USE THE SAME NAME), then entering the new file of files, deleting
the items appearing before the last time it was updated, merging
with the old file and adding the comments.  Suitable macros, e.g.
αxpo<cr>αxreadw<cr>, and αcαh<cr>αeα↑<tab>αd help enter files,
take back and deposit title lines, put files in the delete list, etc.
					- Rob

NS: If a news wire line seems dead, you may be able to resurrect it by
    typing "TTY EXIST nn", where nn is 16 for AP wire, and 17 for NYT.
	The command :unseen causes NS to forget its list of stories.

To create directories, use the UFD command.

To run at SCORE from datadisc
dtn score
take sail (after login)

[the file sail.cmd contains the commands ter datamedia, ter wid 84, ter len 37]

MRC:<LOGLSP.LISP>LISP gets loglisp, but there is a bug.

ADMIN.LIBRAR%SCORE is the Math.-Comp. Sci. library
NEWTRS[LIB,DOC] is the list of new technical reports
\CSD is the CSD bulletin board file

elisp (1,000,000 cons cells from Charles Hedrick at Rutgers) documentation
is score as <elisp>elisp.doc

After entering E from cksum, αM switches between changed pages.

Using the S1-F2 by supdup.
sd s1
tty sail

Certain characters are done oddly.
_ and ← are switched.

esc is esc i α
break is esc i β
clear is esc i ε
call is αz
αz is esc i αz
esc i ? gives help


COMPRESSION OF MAIL FILES
Suppose we have a file called FOO.BAR that contains lots of messages in E format,
such as JMC's mail file.  It would take much less space on the disk if we had
more than one message per page.  This can be done as follows.

	COPY NEWFILE←FOO.BAR(2:*)/ASC

This will remove the E directory (formerly page 1) and compress the zeros (nulls)
out that were in between messages.

Next type

	ET NEWFILE/N

to edit the file without a directory page.  This will make it easier to delete
the unwanted page marks (it won't be necessary for E to ripple the file each
time).  Now you can delete page marks with <control>X DEL.  Each time this will
cause the next page to be appended to the end of the current page.  You should
try to keep the page size down to several hundred lines at most.  When you are
all done, you can reformat the file with an E directory by typing (to E):

	<control>ε NEWFILE/Q

Which will switch to the same file, this time giving it an E directory.

To print on canon ordinary, i.e. non press, files, incant as follows:

r makimp
[This asks for a file name and converts the file to .imp form].
then
do cprint[can,sys]
[There are sometimes mysterious failure messages].

The way to reconnect to a subjob if E has forgotten about it is with
the /J switch.  Thus  ET FOO/31J  will edit file FOO and connect to
job number 31.

After login, tty dmw adjusts for Datamedia.
<baud set>RR1800<cr><cr> resets Datamedia to 1800.

Dialog: mathfile
dial/1200 858-0511
<password from notebook>
B 239
s rotation()number?
t1/5/1-26
logoff
? adds grammatical endings to search term

To enroll, send a message to AIList-Request @SRI-AI.
Submissions should be addressed to AIList @SRI-AI.
Dr. Kenneth I. Laws, SRI

On LOTS
finger/last:<last name>
gets them all.

Mycin: see phon

tty glass before login avoids display options

(ekl: (to get it from E: Xsl ekl) (<esc>Q to cycle among who lines)
(remember ekl.ini))

Just say "SEND TTY100 ...".

Now, whenever you need to know the dialing prefix for a given exchange,
type (to the monitor):
	OF/X <exch>
where <exch> is the exchange in question.  The FIND program will print out
the dialing prefix, the exchange, and the city.

account(why)=f.mccarthy,optical

You can now send and receive mail to/from ITS users by sending mail
to "gg.uuu@Forsythe".  The "gg.uuu" is the userid format of an ITS
account, and "Forsythe" is the host name for the ITS 3081.

ru dviimp[mf,als]

r dviesp

Terminal at MCC is CIT-101e.  ME suggests TTY ansi or TTY ANSI nnn, where
nnn is number of lines.
lisp

Common.msg[com,lsp] is the common lisp discussion file.

LSPARC.RPG[UP,DOC] contains in reverse chronological order the modifications
to Maclisp over the years. Astute readers can find programming hints
and obscure documentation here.

HELP.DOC[AID,RPG]
help.doc[aid,LSP] helps with maclisp
not including EL and MEL

(el foo bar dsk (foo jmc))
206, jmc must be referred to as (206. jmc)

(load '(selfap lsp)) or (load '((dsk (e80 jmc)) selfap lsp))

(el selfap lsp)
or with macro expansion
(mel selfap lsp)

Is there a way within STEP of evaluating an expression on the side?

What I do is go into a αB break loop at whatever point is interesting
(just type αB) at step. Then you're in a read-eval-print loop.
<alt>p continues in the step.  It will prompt with ? as usual.
You can then type αP to print the current expression that is being
asked about, or αβP to pretty-print it.
			-rpg-
Thanks.  Actually I am presently interested in seeing more of the
value of the previous expression that it has just printed to
a set depth and length.  Does this expression have a name?

The value of the last thing should be in %value, as the current expression
in in %ce.

Using LISP from E.

1. The alias directory must have a suitable ELISP.INI obtained from RPG.

2. ⊗xsl creates a maclisp ptyjob

3. α= causes the current line or the attach buffer to be sent to the
maclisp job

4. ⊗xlattach causes replies to come back into the attach buffer

to reconnect maclisp job after re-entering e and getting connected
to the pty job that e creates
α-αxsubjob<cr>
αxrec<cr>

∂20-Aug-84  1818	PW  	Common Lisp on the 3600s 
To:   "@SUSER.DIS[1,PW]"    
Both Iguana and Coax have Common Lisp built into the default world-load.
To get to the Common-Lisp-Listener (CL needs its own reader), type 
SELECT then SYMBOL-SHIFT-L (λ).  When writing and running CL code from
Zmacs files, be sure you are in the appropriate package (ie. CL, COMMON-LISP,
or COMMON-LISP-USER).  Common Lisp shadows ZetaLisp which is running concurrently,
so beware of package confusion with symbol names.

This is an old version (February) of Moon's code.  Symbolics doesn't support it
yet so don't send bug reports, of which there are plenty, off to them.  

It ain't lexical, but it's got characters.

 One can RETRIEVE single files from the lisp machines.  Multiple file transfers die
 in the directory listing.

    .ftp onefil.lsp ← {iguana}>pw>single-file.lisp
    <  FTP service ready.
    Input complete: 23 bytes transferred (0.0 Kbaud)
    Connection has been closed

    Exit
    ↑C
    .

  One can SEND single or multiple files to the Lisp Machines.

    .ftp {iguana}>pw>*.lisp ← *.lsp
    <  FTP service ready.
    Reading ONE.LSP[1,PW]
    Output complete: 245 bytes transferred (0.8 Kbaud)
    Reading TWO.LSP[1,PW]
    Output complete: 23 bytes transferred (0.0 Kbaud)
    Reading THREE.LSP[1,PW]
    Output complete: 4 bytes transferred (0.0 Kbaud)
    Reading FOUR.LSP[1,PW]
    Output complete: 58 bytes transferred (0.0 Kbaud)
    Connection has been closed

    Exit
    ↑C
    .

from the LISPMs

  While in ZMACS, one can use meta-X COPY FILE to move single or multiple files.  
  This command prompts for both source and destination pathnames.  Whether as the 
  source or the destination, the SAIL  pathname should look something like 

    SAIL:onefil.lsp[1,pw]	or,
    SU-AI:*.lsp[1,pw]

  Lisp machine pathnames are as usual.


  One can also directly read from (C-X, C-F) and write to (C-X, C-S) SAIL files
  while in a ZMACS buffer.  The more you can leave on SAIL the better, because 
  of the limited disk space on the 3600s.

As incentive to learn this stuff, I should point out that the lisp machines are
not backed up regularly.

Common lisp is called clisp at SCORE.
E

To format an unformatted file
et <filename>/q

If one has already made changes to the file and is in E, copy the
current page and switch to another file.
ekl

foo#3#5 designates the 5th part of the third sentence of proof foo.  This
isn't in the 1983 November 4 manual.

αβxsl ekl connects E to an EKL
αzrecon reconnects an ekl after re-entering E

(ttyekl) is the command to get rid of the fancy characters

⊗xint b  interrupts a runaway job

∂01-Jun-84  1831	JK   
To:   JMC, JK, LEP, EXM, JJW
The derive procedure has been modified somewhat:
In particular, you can affect its behaviour by the following 
functions:

(der-veryfast); this forces der to consider equalities as simple literals
(der-slow)    ; this allows full use of equalities through high
	      ; order unification
(der-fast)    ; this allows some simple substitution instances of equalities
	      ; currently the default

decdem[ekl,jk] contains debugging files for some illuminating examples
that tell something about the behaviour of der
to get this kind of information to be printed out, execute the
following setq's:

(setq g:report-time t
      g:report-atoms nil
      g:report-facts t
      g:report-unifiers t
      g:report-top-uniflsts nil
      g:report-irrelevance t
      g:report-cycles t
      g:decide-debugging t)

∂02-Jun-84  1555	JK   
To:   JMC, LEP, JK
It struck me that what you want in most examples that you have shown me 
so far is rewriting (equality substitution) by cases. This can be done
using the rewrite apparatus "guided" by a universal propositional fact
on distributing disjunctions --- the method is obviously extensible to
many other cases.
Below are a few examples of this including the one that der can't do.
--------------
(wipe-out)
(proof foo)
(derive |∀p q r.((p∨q)⊃r)≡(p⊃r)∧(q⊃r)|)
(label rewrite_by_cases)

(trw 
 |(E0(A,B)∧(∀X.E0(X,X))∧(∀X Y.E0(X,Y)⊃E0(Y,X))∧(∀X Y Z.E0(X,Y)∧E0(Y,Z)⊃E0(X,Z)))
  ⊃(X=A∧Y=B∨X=B∧Y=A∨X=Y⊃E0(X,Y))|
 (use rewrite_by_cases mode: always))
;E0(A,B)∧(∀X.E0(X,X))∧(∀X Y.E0(X,Y)⊃E0(Y,X))∧(∀X Y Z.E0(X,Y)∧E0(Y,Z)⊃E0(X,Z))⊃
;(X=A∧Y=B∨X=B∧Y=A∨X=Y⊃E0(X,Y))

Here's the  symmetry problem with rewritemessages shown
(setq rewritemessages t)
(trw |(X=A∧Y=B∨X=B∧Y=A∨X=Y⊃Y=A∧X=B∨Y=B∧X=A∨Y=X)|
     (use rewrite_by_cases mode: always))
;the term X=A∧Y=B∨X=B∧Y=A∨X=Y⊃Y=A∧X=B∨Y=B∧X=A∨Y=X is replaced by:
(X=A∧Y=B⊃Y=A∧X=B∨Y=B∧X=A∨Y=X)∧(X=B∧Y=A∨X=Y⊃Y=A∧X=B∨Y=B∧X=A∨Y=X)
;the term Y is replaced by:
B
;the term X is replaced by:
A
;the term B is replaced by:
A
;the term A=A is replaced by:
TRUE
;the term B=A∧TRUE is replaced by:
B=A
;the term Y=B is replaced by:
TRUE
;the term X=A is replaced by:
TRUE
;the term TRUE∧TRUE is replaced by:
TRUE
;the term B=A∨TRUE∨Y=X is replaced by:
TRUE
;the term X=A∧Y=B⊃TRUE is replaced by:
TRUE
;the term X=B∧Y=A∨X=Y⊃Y=A∧X=B∨Y=B∧X=A∨Y=X is replaced by:
(X=B∧Y=A⊃Y=A∧X=B∨Y=B∧X=A∨Y=X)∧(X=Y⊃Y=A∧X=B∨Y=B∧X=A∨Y=X)
;the term Y=A is replaced by:
TRUE
;the term X=B is replaced by:
TRUE
;the term TRUE∧TRUE is replaced by:
TRUE
;the term TRUE∨Y=B∧X=A∨Y=X is replaced by:
TRUE
;the term X=B∧Y=A⊃TRUE is replaced by:
TRUE
;the term Y is replaced by:
X
;the term X is replaced by:
B
;the term B is replaced by:
A
;the term Y is replaced by:
X
;the term X is replaced by:
A
;the term A=B∧X=A is replaced by:
FALSE
;the term Y=X is replaced by:
TRUE
;the term B=A∧X=A∨FALSE∨TRUE is replaced by:
TRUE
;the term X=Y⊃TRUE is replaced by:
TRUE
;the term TRUE∧TRUE is replaced by:
TRUE
;the term TRUE∧TRUE is replaced by:
TRUE
;X=A∧Y=B∨X=B∧Y=A∨X=Y⊃Y=A∧X=B∨Y=B∧X=A∨Y=X

∂03-Jun-84  1021	JK   
 ∂02-Jun-84  2130	JMC  	Should this fail?  It takes only about 1.5 sec to do so.   
(der-fast)
(der |∀p1 p2 p3 q0 q2.
	(∀x y.q2(x,y) ≡ p1(x,y) ∨ p2(x,y) ∨ p3(x,y))
	∧ (∀x y.p1(x,y) ⊃ q0(x,y))
	∧ (∀x y.p2(x,y) ⊃ q0(x,y))
	∧ (∀x y.p3(x,y) ⊃ q0(x,y))
	⊃ (∀x y.q2(x,y) ⊃ q0(x,y))|)
------------------
Yes - it should: This kind of case splitting it cannot do, since it 
occurs inside an equivalence. The above inference is not direct, and
the only kinds of indirect arguments it can handle are those involving
top-level conjunctions or top-level disjunctions on the antecedents of
disjunctions. Instead, try:

(proof foo)
(assume |(∀x y.q2(x,y) ≡ p1(x,y) ∨ p2(x,y) ∨ p3(x,y))|) (label xx)
(der |(∀x y.p1(x,y) ⊃ q0(x,y))∧(∀x y.p2(x,y) ⊃ q0(x,y))∧(∀x y.p3(x,y) ⊃ q0(x,y))
      ⊃ (q2(x,y) ⊃ q0(x,y))|
     ()
     (use xx mode: always))

Computer phones

Turing: 329-9910, 300 or 12000, <cr> twice before prompt.
To turn off call waiting during a call, dial *70 getting 2nd dial tone.
Does anyone know how to disconnect the ringer on a phone so that it no lnger
rings (as well as reducing the ringer equivalence to 0.0 so it doesn't even
look like there's a phone on the line)?  I think it involves cutting one line,
but which one?

Arthur

BH - I believe that "cutting one wire" goes back to the old days when phones
had three wires coming out, green, red, and yellow, and disconnecting the
yellow one disconnected the bell.  Now they have modular jacks instead, and
you don't want to try cutting one wire off a modular plug.  Instead,
open the phone by unscrewing the two screws on the bottom.  There are four
wires going to the (bottom of the) bell: red, black, grey, and red-and-grey.
Those four wires go to terminals L1, L2, R, and an unlabelled one if you have
an up-to-the-minute phone, or perhaps two of them go to terminals labelled
A and K.  These terminals are in the clump of screws behind the dial,
called the network.  Disconnect the ones attached to L1 and L2.  You can
keep them out of harm's way without damaging the phone by storing them
on the ame two terminals the other two are on.  Make sure it is the bell
wires you disconnect from L1 and L2!  There are other wires going to the dial
and the handset also.  If you aren't sure which wire is which, in a pinch
you can just disconnect all four bell wires from the network and tape them up.
	The reason there are four wires rather than the obvious two is that the
bell has two coils, which are connected in series this way:
L1 --- coil --- capacitor (inside the network) --- coil --- L2
By moving the wires away from L1 and L2 (where the actual phone line comes in)
you are just connecting the bell and the capacitor to each other and to
nothing else.

The following special purpose BBoards exist on SAIL:

AI.TXT[2,2]	AI mailing list bboard. Gets all the message on AI-LIST@SRI-AI

CONFER.TXT[2,2]	Conference announcements and calls for papers. Manually edited.

CSD.BBD[INF,CSD]  CSD academic BBoard (course announcements etc). Get message
	 sent to CSD@SAIL. If you send a message announcing a course, quals,
	 a deadline, etc. please send a copy to this address.

CSLI.TXT[2,2]	CSLI messages. Gets all the messages sent to FRIENDS@CSLI.

MAC.TXT[2,2]	Macintosh messages. Gets messages sent to INFO-MAC@SUMEX.

SERVIC[P,DOC] Recommendation on various services. Manually edited.

THEORY.TXT[2,2] Theoretical CS messages. Gets all messages sent to the AFLB 
	mailing list (@SCORE) and the world-wide Theory Net. Also MTC and logic
	related messages.

If you are a SAIL user you are encouraged to remove your individual membership
in the mailing lists above and read these BBoards instead (using CKSUM).

Socrates

phone = 328-4000

class = 20
account = ed.a69
pass = public0
dial 328-4000
20
ed.a69
public0

best way from SAIL
tn forsythe
forsythe
ed.a69
public0
Macsyma on Symbolics 3600 (Coax)

1985 Feb 14 notes from Marc Lebrun

1. Type SELECT A to get to Macsyma.

2. You probably want to run with garbage collection.  If so, say (gc-on) to
Lisp.

Making slides - use \input slide1.tex[1,jmc] to make slides for 35 mm
Use \input slide2.tex[1,jmc] to make slides for overhead projector
Using SAIL from tops-20.
Telnet is transparent to terminal type.  One can either
tell WAITS  the terminal type or try TTY ANSI.  TTY glass is
the fall back.  If using tty glass, 15:frame should cause
ns to deliver only 15 lines per frame.
official" way to send mail to DEC's ENET is:

	user%site.dec@decwrl.dec.com

that's  user%site.dec@decwrl.arpa  for you oldtimers.
LaBrea
Account name on LaBrea is <jmc> password: quaderno
Information for people about admission or AI study. brodie.1[let,jmc].
For people who write letters to me inquiring.
∂09-Dec-85  1456	LES  	Pub to ESP    
The command sequence is
pub <file>
esp <file>.xgp

TEX
\input memo.tex[let,jmc]
%There is also jmcmac.tex[let,jmc]
%Both have spacing between words in math formulas.

To get  lathrop  output
r dviesp;<filename>.dvi/i
and then
lathrop <filename.imp>.
netlib@anl-mcs
subject: send index
send sin
netlib@anl-mcs send index from fnlib
c  To get d1mach, mail netlib
c       send d1mach from core
;netlib@anl-mcs send sqrt from core; doesn't work
netlib@anl-mcs send sin from fnlib
see f86.in[let,jmc]/633p and 634p and 635p
On line OAG: see instructions in paper rack on desk in office, in standing
file in drawer at home.
Shower in upstairs bathroom
To free up handle pull after xx months or xx of use.  Turn adjustment
key seven turns clockwise - then open and close faucet several times
while rotating xxx.
∂16-Nov-87  1928	ME 	UDPs  
I'm putting directory listings of all the UDPs into the files
DSK:*.UDP[UDP,SYS].  These files can thus be scanned very quickly
for any file(s) you might be looking for.  The name of each listing
file matches that of the UDP whose files it lists.

Using gang-of-four

from sail
sd go4

from home
tn go4
meta-t gets me in image mode
after login,
clear (to unix)
undo SAIL lock on terminal
set term=dmwaits

emacs
c-x c-f
to desired file

m-x shell (gets a shell buffer)
c-x b (for switching buffers)
qlisp (calling qlisp)
(compile-file "qexp")
(load "qexp")
(quit)
remember to use delete instead of bs in gnu emacs

to use SAIL chars, precede by <ctrl>q

to detach and reattach

SAIL LOCK
<meta>-T
<call>
det

.
.
.
att
cont
<meta>T
undo SAIL LOCK

GNU emacs equivalent of ↑Xpo command in E
see w88.in[let,jmc]/546p
Subject:      Theorynet archives and FTP
To: Local Distribution <aflb-tn@POLYA.STANFORD.EDU>

I should have given the internet name of the host for archives, it is
VM1.NODAK.EDU.  So to get archives do:
FTP VM1.NODAK.EDU
USERID ANONYMOUS
PASSWORD GUEST
CD LISTARCH
GET THEORYNT.LOG8808
  (for example -- this would get august 1988 archives).

MAIL to bitnet
Can you find me an address that will work for
MCHENRY@GUVAX.BITNET

ME - Try 
MCHENRY%GUVAX.BITNET@Forsythe.Stanford.EDU

This should work for all Bitnet addresses.